package cycles.util.date;

import java.util.Date;

import org.apache.commons.lang.time.FastDateFormat;

/**
 * 简单的时间方法
 * 
 * @author cycles
 * 
 */
public final class SimpleDate {
	private static final FastDateFormat defaultformat = FastDateFormat
			.getInstance("yyyy-MM-dd HH:mm:ss");
	private static final FastDateFormat fmthhmm = FastDateFormat
			.getInstance("HH:mm");

	/**
	 * 按指定格式转换当前时间字串
	 * 
	 * @param format
	 * @return
	 */
	public static String getDateString(String format) {
		return FastDateFormat.getInstance(format).format(new Date());
	}

	/**
	 * 将时间转换成指定格式
	 * @param format
	 * @param date
	 * @return
	 */
	public static String getDateString(String format, Date date) {
		return FastDateFormat.getInstance(format).format(date);
	}

	/**
	 * 获取指定时间格式串
	 * 
	 * @param format
	 *            格式串
	 * @param atmill
	 *            指定的时间，从1970到当时的毫秒数
	 * @return
	 */
	public static String getDateString(String format, long atmill) {
		return FastDateFormat.getInstance(format).format(atmill);
	}

	/**
	 * 获取指定时间的格式串
	 * 
	 * @param mills
	 *            指定时间，从1970到当时的毫秒数
	 * @return
	 */
	public static String getTimeHHMM(long mills) {
		return fmthhmm.format(new Date(mills));
	}

	/**
	 * 获取当前时间，格式为HH:mm
	 * 
	 * @return
	 */
	public static String getNowHHMM() {
		return fmthhmm.format(new Date());
	}

	/**
	 * 获取当前时间，格式为"yyyy-MM-dd HH:mm:ss"
	 * 
	 * @return
	 */
	public static String getStandardNow() {
		return defaultformat.format(new Date());
	}
	/**
	 * 标准格式"yyyy-MM-dd HH:mm:ss"
	 * @param date
	 * @return
	 */
	public static String getStandard(Date date){
		return defaultformat.format(date);
	}
}
